/**
 * 
 */
package it.unicam.cs.cosy.bioshape.core.components;

import it.unicam.cs.cosy.bioshape.core.components.movers.EntityDriver;
import it.unicam.cs.cosy.bioshape.core.shapes.Bounds;

import java.util.List;

import javax.vecmath.Matrix3d;
import javax.vecmath.Matrix4d;
import javax.vecmath.Tuple3d;
import javax.vecmath.Vector3d;

import vclip.PolyTree;

/**
 * Represents a Compound 3D Process of the Shape Calculus
 * 
 * @author Luca Tesei
 *
 */
public class Compound3DProcess implements Entity {

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#drive(double)
     */
    @Override
    public void move(double scalarFactor) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getBounds()
     */
    @Override
    public Bounds getBounds() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getCenter()
     */
    @Override
    public Tuple3d getCenter() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getId()
     */
    @Override
    public long getId() {
        // TODO Auto-generated method stub
        return 0;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getMass()
     */
    @Override
    public double getMass() {
        // TODO Auto-generated method stub
        return 0;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#isCollided()
     */
    @Override
    public boolean isCollided() {
        // TODO Auto-generated method stub
        return false;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#ncdInteractions()
     */
    @Override
    public void ncdInteractions() {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#setCenter(javax.vecmath.Tuple3d)
     */
    @Override
    public void setCenter(Tuple3d center) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#setCollided(boolean)
     */
    @Override
    public void setCollided(boolean collided) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#setTranslation(javax.vecmath.Vector3d)
     */
    @Override
    public void setInstantVelocity(Vector3d trans) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#setRotation(javax.vecmath.Vector3d)
     */
    @Override
    public void setInstantAngularVelocity(Vector3d rot) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#setDriver(it.unicam.cs.cosy.bioshape.core.components.movers.EntityDriver)
     */
    @Override
    public void setDriver(EntityDriver entityDriver) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getTranslation()
     */
    @Override
    public Vector3d getInstantVelocity() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getComponentEntities()
     */
    @Override
    public List<PolyTree> getComponentEntities() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getGeometry()
     */
    @Override
    public String getGeometry() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getTransform()
     */
    @Override
    public Matrix4d getTransform() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getRotation()
     */
    @Override
    public Vector3d getInstantAngularVelocity() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#updateVelocity()
     */
    @Override
    public void updateVelocity() {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#join(it.unicam.cs.cosy.bioshape.core.components.Entity)
     */
    @Override
    public void join(Entity e) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#split()
     */
    @Override
    public void split() {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getName()
     */
    @Override
    public String getName() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#getInertiaTensor()
     */
    @Override
    public Matrix3d getInertiaTensor() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#queryServices()
     */
    @Override
    public ShapeRequest queryServices() {
        // TODO Auto-generated method stub
        return null;
    }

    /* (non-Javadoc)
     * @see it.unicam.cs.cosy.bioshape.core.components.Entity#isAtomic()
     */
    @Override
    public boolean isAtomicEntity() {
        // TODO Auto-generated method stub
        return false;
    }

}
